package com.AJava1710D.设计模式.原型模式;

import com.alibaba.fastjson.JSON;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 作者: LCG
 * 日期: 2020/6/28 11:45
 * 描述:
 */
public class TestYX {

    public static void main(String[] args) throws CloneNotSupportedException, IOException, ClassNotFoundException {

         List<Map<String,Object>> list=new ArrayList<>();

         Map<String,Object> map=new HashMap<>();
         map.put("aaa","张三");
        list.add(map);

         TestABA testABA=new TestABA();
         testABA.setAge(50);
         testABA.setUserName("zhangsan");
         testABA.setList(list);


        //浅克隆克隆一个对象
        TestABA clone = testABA.getClone();

        //浅复制的话对于对象中的属性的引用会直接拿原来的引用，但是深复制的话会重新创建
       // System.out.println(clone.getList()==testABA.getList());


        //深克隆
        TestABA testABA1 = testABA.deepClone();

         //深克隆的的话会重新创建所有的引用类型  基本类型的话不变
        System.out.println(testABA1.getList()==testABA.getList());

    }

}
